home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok59.lha / AmokEd_V1.02b / txt / EdCmd3.mod < prev    next >
Text File  |  1993-08-15  |  1KB  |  56 lines

  1. (*************************************************************************
  2.  
  3. :Program.    EdCmd3.mod
  4. :Contents.   Commands for AmokEd
  5. :Author.     Hartmut Goebel
  6. :Language.   Oberon
  7. :Translator. Amiga Oberon Compiler V1.17.1
  8. :Imports.    SupLib (Hartmut Goebel)
  9. :History.    V1.0, 21 Apr 1991 Hartmut Goebel [hG]
  10. :Date.       13 Aug 1991 23:30:22
  11.  
  12. *************************************************************************)
  13.  
  14. MODULE EdCmd3;
  15.  
  16. IMPORT
  17.   edD: EdDisplay,
  18.   edE: EdErrors,
  19.   edG: EdGlobalVars,
  20.   edM: EdMovement;
  21.  
  22. CONST
  23.   insert* = 0;
  24.  
  25. PROCEDURE doOverWrite*;
  26. VAR
  27.   insertMode: BOOLEAN;
  28. BEGIN
  29.   insertMode := edG.insertMode IN edG.Text.status;
  30.   IF ~(insert IN edG.ArgSet) THEN EXCL(edG.Text.status,edG.insertMode);
  31.                              ELSE INCL(edG.Text.status,edG.insertMode); END;
  32.   edM.TextWrite(edG.Arg[0]);
  33.   IF insertMode THEN INCL(edG.Text.status,edG.insertMode);
  34.                 ELSE EXCL(edG.Text.status,edG.insertMode); END;
  35. END doOverWrite;
  36.  
  37.  
  38. PROCEDURE doSwapChar*;
  39. VAR
  40.   i: INTEGER;
  41.   ch: CHAR;
  42. BEGIN
  43.   i := edG.Text.pos;
  44.   IF i < edG.LineBufferLen-1 THEN
  45.     ch := edG.LineBuffer[i];
  46.     edG.LineBuffer[i] := edG.LineBuffer[i+1];
  47.     edG.LineBuffer[i+1] := ch;
  48.     edD.TextRedisplayCurrentLine;
  49.   ELSE
  50.     edG.Rc := edE.cmdFailed;
  51.   END;
  52. END doSwapChar;
  53.  
  54. END EdCmd3.
  55.  
  56.